#pragma once
#include <queBase.h>
// queue type value operate struct
struct queObjStruct
{
    queOptType objSz;  // one object size
    struct queOptStruct qopt;
};
// queue type value operate head size
#define queObjHdSz (offsetof(struct queObjStruct, qopt.bfSave))
int queObjInit(void *qotPtr, queOptType qotSize, queOptType objsize);
int queObjWrite(void *qotPtr, const void *qotVal);
int queObjRead(void *qotPtr, void *qotVal, uint8_t rdChnl);
// calc queue object buffer total size
#define queObjCalcTotal(number, ojbSize) (number * ojbSize + queObjHdSz) 
